package co.edu.udistrital.negocio.excepcion;

import java.math.BigDecimal;

/**
 * Clase que maneja las excepciones propias del sistema.
 * @author   Alejo Gamboa B
 */
public class ExcepcionSistema extends ConcesionarioExcepcion {

	private static final long serialVersionUID = 1L;
	/**
	 * @uml.property  name="mensaje"
	 */
	private String mensaje;
	/**
	 * @uml.property  name="detalle"
	 */
	private String detalle;
	/**
	 * @uml.property  name="codigoExcepcion"
	 */
	private BigDecimal codigoExcepcion;
	
	public ExcepcionSistema  ( String mensaje, String detalle, BigDecimal codigoExcepcion ){
		this.mensaje = mensaje;
		this.detalle = detalle;
		this.codigoExcepcion = codigoExcepcion;
	}
	
	public ExcepcionSistema  ( String mensaje, String detalle ){
		this.mensaje = mensaje;
		this.detalle = detalle;
	}
	
	public ExcepcionSistema  ( String mensaje, String detalle, Exception excepcion ){
		this.mensaje = mensaje;
		this.detalle = detalle;
		setExcepcion(excepcion);
	}
	
	
	/**
	 * @return
	 * @uml.property  name="mensaje"
	 */
	public String getMensaje() {
		return mensaje;
	}
	/**
	 * @param  mensaje
	 * @uml.property  name="mensaje"
	 */
	public void setMensaje(String mensaje) {
		this.mensaje = mensaje;
	}
	/**
	 * @return
	 * @uml.property  name="detalle"
	 */
	public String getDetalle() {
		return detalle;
	}
	/**
	 * @param  detalle
	 * @uml.property  name="detalle"
	 */
	public void setDetalle(String detalle) {
		this.detalle = detalle;
	}
	/**
	 * @return
	 * @uml.property  name="codigoExcepcion"
	 */
	public BigDecimal getCodigoExcepcion() {
		return codigoExcepcion;
	}
	/**
	 * @param  codigoExcepcion
	 * @uml.property  name="codigoExcepcion"
	 */
	public void setCodigoExcepcion(BigDecimal codigoExcepcion) {
		this.codigoExcepcion = codigoExcepcion;
	}
}
